Intelligent mobile devices including personal digital assistants (“PDA” s), smart phones, and small hand-held computers are becoming more common. Use of these mobile devices is no longer limited to technologically savvy professionals: increasingly these devices are being integrated into mass business processes such as parcel delivery. Some companies are using these devices to deploy a uniform workflow process to employees. Mobile devices may be loaded with data from the enterprise database, from the user's workstation, from the user's personal computer (“PC”), or from other sources. This data which the mobile devices store may include information from computer-based address books, computer-based appointment calendars, computer-based sales histories, computer-based inventory information, etc. It may be useful to occasionally update the mobile device's stored data from these fixed position data storage devices. The activity of updating the mobile device's stored data may be referred to as synchronizing the mobile or synching the mobile.
Databases are computer based stores of information. Databases may be conceived of as constructed of multiple rows of information, with each row having identical internal information structure. Rows of information may be added to a database or deleted from a database. Existing rows in a database may be modified by changing the information contained in the row. The structure of database rows—sometimes referred to as the format or schema of the rows, the format or schema of the database—specifies a sequence of fields and the information content of these fields. For instance, a row format for an employee database may include fields containing employee name, employee home address, employee home phone number, employee hire date, employee department number, supervisor's name, etc. Some fields may contain sequences of characters of arbitrary length, other fields may contain a small integer, other fields may contain other data formats. Because a sequence of database rows may be conceived to line up so that the fields line up in columns, database contents are sometimes referred to as database tables. Sometimes a single table arrangement of data is referred to as a database, and multiple databases are considered to reside on a single mass storage disk memory device or to be supported by a single database access computer program or application. Other times a database is conceived to have multiple independent tables of information and covers the entire database access application, perhaps accessing storage across several mass storage disk memory devices. These concepts are well understood by those skilled in the art.
Current mobile synchronization solutions require the mobile user to select individual data items for synchronization or to synchronize all available data. Selecting individual items is tedious and subject to error. Further, selecting individual items does not support deploying a uniform work process: different employees may select different subsets of data to synchronize, and their work processes may vary undesirably from one another as a consequence. Synchronizing all available data is inefficient when only a subset of data is needed. In this case excess communication bandwidth is consumed in transmitting and excess memory in the mobile device is consumed in storing the unneeded data. Both of these inefficiencies involve increased costs of operation. Excessive bandwidth consumption implies extra airtime and consequent higher billing (if a different business model applies and billing to the subscriber is not increased, then the service provider bears this extra cost). Excess mobile device memory consumption implies paying for mobile units with more memory than actually needed.
What is needed, therefore, is a system or method for data collaboration and intelligent synchronization of data in the mobile environment.